From 5bef17da44e8e95e7037034b1f9bddb211a6f764 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 4 Dec 2007 11:23:05 +0000 Subject: [PATCH] x86_emulate: Fix SHLD/SHRD emulation -- cannot rely on dst.orig_val being already initialised. From: Dexuan Cui Signed-off-by: Keir Fraser --- xen/arch/x86/x86_emulate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/x86_emulate.c b/xen/arch/x86/x86_emulate.c index f6b2215cfd..20f6cec5b5 100644 --- a/xen/arch/x86/x86_emulate.c +++ b/xen/arch/x86/x86_emulate.c @@ -2624,7 +2624,7 @@ x86_emulate( shift = (b & 1) ? (uint8_t)_regs.ecx : insn_fetch_type(uint8_t); if ( (shift &= width - 1) == 0 ) break; - dst.orig_val = truncate_word(dst.orig_val, dst.bytes); + dst.orig_val = truncate_word(dst.val, dst.bytes); dst.val = ((shift == width) ? src.val : (b & 8) ? /* shrd */ -- 2.30.2